Skip to content

Visual editor

These sheets can be edited in the browser with Elin ModMaker. A character's sprites, portrait, talk lines, dramas and per-language text are gathered in one place, and cross-sheet references such as race, job and elements come with completion and validation.

Material Sheet โ€‹

When making source sheets, you must copy the first 3 rows of the official source sheet completely and start your data at the 4th row.

About columns, empty rows and empty cells

Missing columns are filled with empty values โ€” the game logs a #source ill-format warning (visible in Player.log) and keeps loading. Reordered columns are re-mapped by header name automatically. Still, copy the whole official header row as-is; it avoids both paths entirely.

A row with an empty id aborts the rest of the sheet, every row after it is skipped, again with no warning. Do not use blank rows to group your data unless intentionally.

An empty cell is not an empty value โ€” the game falls back to the default on row 3. This sheet defaults thing to chunk, decal to 2, defFloor/defBlock to 1, ramp to 6, hardness to 1, chance to 1000, weight and value to 100, quality to 1 and dice to 100.

You can change your default row 3 values to apply it to all other rows. Your data should start at the 4th row.

Sheet Columns โ€‹

ColumnTypeDescription
idintUnique numeric identifier for the material. If matching a vanilla entry or another mod's entry ID, the last sheet to load will override the others. Make this very unique and big enough so it doesn't overlap.
aliasstringMaterial alias, used for referencing in other sheets (e.g. Thing's defMat column).
name_JPstringDisplay name in Japanese.
namestringDisplay name in English. Other languages use SourceLocalization.
categorystringMaterial category. Vanilla uses gem, soil, wood, ore, fiber, rock, crystal, water, grass, skin, organic and bone. Note that metal and leather are not categories โ€” they are values of the groups column.
tagstring[]Tags for special behaviors. Use addColorMain(RRGGBBAA) and addColorAlt(RRGGBBAA) to define custom material colors. See Custom Material below.
thingstringThe raw-material item of this material (default chunk), created e.g. when digging virgin ground or gathering on the world map.
goodsstring[]Consider this unused.
mineralsstring[]Consider this unused.
decalintDecal/blood overlay id. See Decal
decayintDecay rate when item is made of this material.
grassintConsider this unused.
defFloorintDefault SourceFloor tile ID.
defBlockintDefault SourceBlock tile ID.
edgeintConsider this unused.
rampintRamp block tile ID.
idSoundstringImpact sound ID. Custom sounds are placed in Sound/Material/ folder.
soundFootstringFootstep sound ID. Custom sounds are placed in Sound/Footstep/ folder.
hardnessintMaterial hardness; affects work speed when mining/processing and several combat formulas. Also auto-added as a hardness element on import.
groupsstring[]Material tier group (e.g. metal, leather).
tierintMaterial tier in the tier group.
chanceintRandom chance weight within the tier group.
weightintWeight multiplier in percent applied to the item's base weight (100 = unchanged).
valueintValue multiplier in percent applied to the item's price (100 = neutral).
qualityintMaterial quality modifier.
atkintHit multiplier in percent (100 = neutral) applied to the equipment's base hit bonus.
dmgintDamage multiplier in percent (100 = neutral) applied to the equipment's base damage bonus.
dvintDV multiplier in percent (100 = neutral) applied to the equipment's base DV.
pvintPV multiplier in percent (100 = neutral) applied to the equipment's base PV.
diceintDice dimension modifier for damage calculations.
bitsstring[]Proof against fire or acid.
elementselementsSourceElement bonuses when used as equipment material.
altNamestring[]Unique equipment name prefixes.
altName_JPstring[]Unique equipment name prefixes in Japanese.

Custom Material โ€‹

A custom material without a color mapping still loads โ€” the game auto-creates a default (gray) entry and logs it โ€” but it will not display with your intended colors. To make your custom material display properly, define its colors in the tag column.

Color Tags โ€‹

Use addColorMain(color_hex) and addColorAlt(color_hex) in the tag column of your material row to define the main and alternate colors of your material.

The color format is RRGGBBAA (8 hex digits):

  • RR: Red (00โ€“ff)
  • GG: Green (00โ€“ff)
  • BB: Blue (00โ€“ff)
  • AA: Alpha/opacity (00โ€“ff)

Migrating From CWL

CWL specs used addCol_Main and addCol_Alt (case-sensitive), which will still function the same as before. We recommend switching to the new format.

For example:

addColorMain(ffff00ff),addColorAlt(ff0000ff)

This sets the main color to yellow (fully opaque) and the alternate color to red (fully opaque).

Color Format

The color hex string is case insensitive and does not begin with # or 0x.

Decal โ€‹

Index starts at 2 (top-left). Each row contains 2 groups of decals with separate number indices, e.g. the 1st row is 2 and 3, 2nd row is 4 and 5.

This project is an unofficial documentation site and is not affiliated with, endorsed by, or associated with Elin or Lafrontier / Noa. All trademarks are the property of their respective owners.